//
//  FuntionalProgram.m
//  FRP_OC
//
//  Created by DeLong Yang on 2017/8/7.
//  Copyright © 2017年 DeLongYang. All rights reserved.
/*
 3.5 函数式编程思想：是把操作尽量写成一系列嵌套的函数或者方法调用。
 
 函数式编程特点：每个方法必须有返回值（本身对象）,把函数或者Block当做参数,block参数（需要操作的值）block返回值（操作结果）
 
 代表：ReactiveCocoa。
 
 用函数式编程实现，写一个加法计算器,并且加法计算器自带判断是否等于某个值.
 
 作者：袁峥
 链接：http://www.jianshu.com/p/87ef6720a096
 來源：简书
 著作权归作者所有。商业转载请联系作者获得授权，非商业转载请注明出处。
 */

#import "FuntionalProgram.h"

@implementation FuntionalProgram


- (FuntionalProgram *)calulate:(int (^)(int result))calculator
{
    // result default is zero 
    _result =  calculator(_result);
    return self;
//    return ^(){
//      
//        return self;
//    };
    
}

- (FuntionalProgram *)equal:(BOOL (^)(int result))operation
{
    _isEqual = operation(_result);
    return self;
}

@end
